From 83ed0097494e6e628754f5dee28047345dadd6ae Mon Sep 17 00:00:00 2001 From: Debian Qt/KDE Maintainers Date: Thu, 16 Apr 2020 18:05:12 +0100 Subject: [PATCH] enable accessibility on Linux when org.a11y.Status IsEnabled is true Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=54886d7f81175ac6 Last-Update: 2020-04-16 Otherwise accessibility would only work when Orca is set to be started in the session preference, and it would not work when running Orca or compiz' zoom by hand. The existing comment said that it was always true since gnome 3.6, but at least in Debian 8's gnome 3.14, Debian 9's gnome 3.22, and Debian 10's 3.30 it is not always true, it is Orca which sets it on startup. Compiz's focuspoll module also does so for people with low vision using zoom with focus tracking. Gbp-Pq: Name enable_a11y_on_linux.diff --- src/platformsupport/linuxaccessibility/dbusconnection.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/platformsupport/linuxaccessibility/dbusconnection.cpp b/src/platformsupport/linuxaccessibility/dbusconnection.cpp index cacbfdae9..45ddc8e49 100644 --- a/src/platformsupport/linuxaccessibility/dbusconnection.cpp +++ b/src/platformsupport/linuxaccessibility/dbusconnection.cpp @@ -120,8 +120,7 @@ void DBusConnection::serviceRegistered() //debugging. static const bool a11yAlwaysOn = qEnvironmentVariableIsSet("QT_LINUX_ACCESSIBILITY_ALWAYS_ON"); - // a11yStatus->isEnabled() returns always true (since Gnome 3.6) - bool enabled = a11yAlwaysOn || a11yStatus->screenReaderEnabled(); + bool enabled = a11yAlwaysOn || a11yStatus->screenReaderEnabled() || a11yStatus->isEnabled(); if (enabled != m_enabled) { m_enabled = enabled; -- 2.30.2